# -*- coding: utf-8 -*-
#
# File: ibictn.py
#
# Copyright (c) 2007 by CTEC
# Generator: ArchGenXML Version 1.5.0
#            http://plone.org/products/archgenxml
#
# GNU General Public License (GPL)
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
#

__author__ = """CTEC <joaojoao@gmail.com>"""
__docformat__ = 'plaintext'


# Workflow Scripts for: formulario_workflow

##code-section workflow-script-header #fill in your manual code here
from Products.CMFCore.utils import getToolByName
##/code-section workflow-script-header


def sendRejeitadoMail(self, state_change, **kw):
    """Manda e-mail para o solicitante"""

    object = state_change.object
    message ="""
    Uma solicitação sua foi Rejeitada na intranet.
    Identificação do conteúdo: """  + object.title_or_id()
    subject = "[intranet] Solicitação Rejeitada"

    owner_info = object.owner_info()
    id = owner_info['id']

    pm = getToolByName(self, "portal_membership")
    member = pm.getMemberById(id)
    email = member.getProperty('email')

    if email == '':
#        log('[ibictn] Usuário que criou o documento não tem e-mail.')
        return

    toAddresses = email

    object.sendMail(message=message,
                    toAddresses=toAddresses,
                    subject = subject)



def sendAceitoMail(self, state_change, **kw):
    """Manda e-mail para o responsável por atender"""
    object = state_change.object
    message ="""
    Há uma nova solicitação pendente na intranet. Por favor, acesse o site.
    Identificação do conteúdo: """  + object.title_or_id()
    subject = "[intranet] Solicitação Pendente de Atendimento"
    toAddresses = object.getProvedor()

    object.sendMail(message=message,
                    toAddresses=toAddresses,
                    subject = subject)



def sendPedenteMail(self, state_change, **kw):
    """Manda e-mail para o responsável por aprovar"""
    object = state_change.object
    message ="""
    Há uma nova solicitação pendente na intranet. Por favor, acesse o site.
    Identificação do conteúdo: """  + object.title_or_id()
    subject = "[intranet] Solicitação Pendente de Aprovação"
    toAddresses = object.getAprovador()

    object.sendMail(message=message,
                    toAddresses=toAddresses,
                    subject = subject)



def sendDelvolvidoPendenteMail(self, state_change, **kw):

    """Manda e-mail para o responsável por aprovar"""
    object = state_change.object
    message ="""
    Uma solicitação foi devolvida.Você ainda pode corrigí-la e aprová-la novamente.
    Identificação do conteúdo: """  + object.title_or_id()
    subject = "[intranet] Solicitação Pendente"
    toAddresses = object.getAprovador()

    object.sendMail(message=message,
                    toAddresses=toAddresses,
                    subject = subject)



def sendDevolvidoMail(self, state_change, **kw):
    """Manda e-mail para o solicitante"""

    object = state_change.object
    message ="""
    Uma solicitação sua foi devolvida.Você ainda pode corrigí-la e enviá-la novamente.
    Identificação do conteúdo: """  + object.title_or_id()
    subject = "[intranet] Solicitação Devolvida"

    owner_info = object.owner_info()
    id = owner_info['id']

    pm = getToolByName(self, "portal_membership")
    member = pm.getMemberById(id)
    email = member.getProperty('email')

    if email == '':
#        log('[ibictn] Usuário que criou o documento não tem e-mail.')
        return

    toAddresses = email
    object.sendMail(message=message,
                    toAddresses=toAddresses,
                    subject = subject)



def sendAtendidoMail(self, state_change, **kw):
    """Manda e-mail para o solicitante"""

    object = state_change.object
    message ="""
    Uma solicitação sua foi atendida na intranet.
    Identificação do conteúdo: """  + object.title_or_id()
    subject = "[intranet] Solicitação Atendida"

    owner_info = object.owner_info()
    id = owner_info['id']

    pm = getToolByName(self, "portal_membership")
    member = pm.getMemberById(id)
    email = member.getProperty('email')

    if email == '':
#        log('[ibictn] Usuário que criou o documento não tem e-mail.')
        return

    toAddresses = email

    object.sendMail(message=message,
                    toAddresses=toAddresses,
                    subject = subject)


